When dealing with large and complex datasets, visualization is an important tool. Systems that display complex data sets visually enable that data to be presented to a user in an easy to understand format. Preparing data to be displayed visually includes gathering the appropriate data set, filtering it, and making necessary calculations to generate the data necessary for a rendering engine to render the information. The visual data is then rendered. Preparing visual representations of data can be time consuming and processor intensive. The time and processing power needed to render images increases as the size and complexity of data sets increases. Because modern computers gather and store more data and more complex data, the ability to efficiently produce visual representations of the data is increasingly important.
Additionally, more and more data is accessed over networks such as the Internet. The data stored at a server system will be displayed on client systems. For example, when a client requests a particular visualization of data from a server system, the web server either renders the data into the requested visualization and sends the rendered images to the client to be displayed, or sends the data to the client to be rendered and displayed by the client device.